﻿Imports System.Reflection
Imports System.Linq.Expressions
Imports System.ComponentModel

Namespace Assets

    Public Interface IDataItem
        Inherits INotifyPropertyChanged
        Property DataPropertyName As String
        Property Value As Object
        Property ItemsSource() As IEnumerable
        Function FilterAsExpression(Of T)(pi As PropertyInfo) As Expression(Of Func(Of T, Boolean))
        Function FilterAsString(Of T)(pi As PropertyInfo) As String
        Sub Reset(refresh As Boolean)
        ReadOnly Property HasItemsSource As Boolean
        ReadOnly Property TemplateName As String
    End Interface

End Namespace